package com.javastudy.liuhouse.static_bianliang;

public class Example01 {

    /*
    静态代码块主要用于在类加载的时候执行初始化操作,适合处理复杂的静态变量初始化或者一次性任务，在类加载的时候自动执行
    并且只执行一次

    * 1.执行顺序：静态代码块在类加载的时候执行,优先于构造函数和main方法
    * 2.只执行一次,无论创建对少个对象,静态代码块执行一次
    * 3.多个静态代码块：如果有多个静态代码块,他会按照在类中出现的顺序依次执行
    * */

    //静态变量
    static int staticVar;

    //静态代码块
    static {
        System.out.println("静态代码块执行");
        staticVar = 10;//初始化静态变量
    }

    //构造函数
    public Example01(){
        System.out.println("构造函数执行");
    }


    public static void main(String[] args) {
        System.out.println("main方法执行");
        System.out.println("静态变量的值:" + staticVar);

        //创建对象
        Example01 example01 = new Example01();
    }



}
